/*************************************************************************
	> File Name: 010.数组地址.c
	> Author: Maureen 
	> Mail: Maureen@qq.com 
	> Created Time: 三  8/25 12:25:44 2021
 ************************************************************************/

#include <stdio.h>

int main() {
    int arr[100]; //arr既是数组名称，也是数组的首地址 = 第一个元素的地址
    printf("arr = %p, &arr[0] = %p\n", arr, &arr[0]);

    printf("arr + 1 = %p, arr + 2 = %p\n", arr + 1, arr + 2); //地址+1,表示向后移动一个元素类型的大小，此处是int类型

    char *p = (char *)arr; //arr是整型数组的地址，p是字符类型的地址，进行强制转换
    printf("p = %p, p + 1 = %p\n", p, p + 1);  //两个地址之间相差一个字节，因为char类型

    return 0;
}

/* 测试结果：
arr = 0x7ffeed50b4f0, &arr[0] = 0x7ffeed50b4f0
arr + 1 = 0x7ffeed50b4f4, arr + 2 = 0x7ffeed50b4f8
p = 0x7ffeed50b4f0, p + 1 = 0x7ffeed50b4f1
 */ 
